

#ifndef __CCE_MATERIAL_MATERIALMATERIALOVERVIEW_H__
#define __CCE_MATERIAL_MATERIALMATERIALOVERVIEW_H__

#include <material/materialeditor.h>
#include <ui_materialgenericlistoverview.h>

class cceMaterialMaterialFilterModel;
class cceMaterialMaterialTreeModel;
class cceMaterialMaterialOverview : public cceMaterialOverviewAbstract
{
  Q_OBJECT
private:
  Ui::MaterialGenericListOverview	_gui;

  cceMaterialMaterialFilterModel*	_proxyModel;
  cceMaterialMaterialTreeModel*		_model;

  void Edit (const QModelIndex &srcIndex);

  void UpdateButtonState ();

private slots:
  void on_pushButtonAdd_clicked ();
  void on_pushButtonRemove_clicked ();
  void on_pushButtonEdit_clicked ();
  void on_pushButtonClearFilter_clicked ();
  void on_treeView_activated (const QModelIndex &index);
  void on_lineEditFilter_textChanged (const QString &text);

  void TreeViewSelectionChanged (const QItemSelection&, const QItemSelection&);

public:
  cceMaterialMaterialOverview (QWidget* parent = 0);

  virtual cceMaterialEditorAbstract* CreateEditor (cceMaterialItem* item);

};

#endif /* ! __CCE_MATERIAL_MATERIALPROGRAMOVERVIEW_H__ */

